﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>

    <h1>
        Karhu.Backend</h1>
    <p>
        The Karhu.Backend project is an ASP.NET MVC 3 application implementing the 
        required Products and Categories controller for the Karhu HTML5 Application.</p>
    <h2>
        Prerequisites</h2>
    <p>
        To store the product and category data a SQL Server Express needs to be 
        installed on the machine. Further ASP.NET MVC3 with the newest Update should be 
        installed in order to run this project.</p>
    <h2>
        Setup</h2>
    <p>
        First thing to do is to install Entity Framework 4.1 via nuget. To do this just open the package manager console
		and type <pre>install-package EntityFramework</pre>. To use the Karhu client with this backend please copy the 
		contents of the public         folder into the Karhu.Backend project in Visual Studio 2010. Ensure that 
        <strong>index.html</strong> and <strong>config.js</strong> is in the root of Karhu.Backend and the subdirectories
    </p>
    <ul>
        <li>css</li>
        <li>images</li>
        <li>js</li>
        <li>locales</li>
        <li>templates</li>
        <li>vendor</li>
    </ul>
    <p>
        are in place. Then just simply execute the application by starting in debug mode 
        and you should have a running copy of Karhu with appropriate .NET backend.</p>
    <h2>
        Copied Everything?</h2>
    <p>
        If so, you are ready to start, here we go: <a href="index.html">Karhu</a>.</p>
    <h2>
        Known Issues</h2>
    <p>
        The Karhu.Backend currently does not implement the following features from the 
        Karhu client</p>
    <ul>
        <li>Sorting - Sorting just works in offline mode as it is implemented in the client, 
            server side sorting is not implemented</li>
        <li>Search - Search is not implemented, is is just running in offline mode</li>
        <li>Localization is not working correctly. Price and Date fields are not handled on 
            the backend correctly.</li>
        <li>User Management is completely missing. There is only one hard coded user with 
            the credentials username: demo password. geheim.</li>
    </ul>
    <p>
        The missing features will be implemented in the near future.</p>
    <p>
        There are some other issues in class design which should be refactored. There 
        are also no unit tests for the Karhu.Backend, but there are unit tests for the 
        client side.</p>
    <h2>
        To Consider</h2>
    <p>
        if you plan to deploy Karhu.Backend to another machine with the Karhu client, 
        please ensure that the mime/type for mustache templates is enabled. You can have 
        a look at the web.config.</p>
    <h2>
        Feedback</h2>
    <p>
        If you have any kind of comments or feedback, please contact me 
        <a href="mailto:dparys@microsoft.com">dparys@microsoft.com</a> or
        <a href="http://downtocode.net">http://downtocode.net</a> or @writeline via 
        Twitter.</p>

</body>
</html>
